Código
library(tidyverse)
library(devtools)
library(DT)
library(sf)
library(rgdal)
library(raster)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(viridis)
library(ggplot2)
library(plotly)Los mamíferos son una clase de vertebrados endotérmicos (de sangre caliente) que se caracterizan por poseer glándulas mamarias, pelo o pelaje y, generalmente, por dar a luz crías vivas. Son un grupo diverso que incluye animales tan conocidos como los perros, gatos, elefantes, ballenas, delfines, leones, monos y humanos, entre otros.
Este trabajo propone presentar una variedad de estadísticas que ilustran la distribución de mamiferos en diversos territorios, así como su relevancia en las diferentes regiones socioeconómicas de Costa Rica.
La informacion fue obtenida de Regiones socioeconómicas de Costa Rica contenidas en el Atlas Digital de Costa Rica 2014, por el autor Edgar Ortiz Malavasi y tambien de Registros de presencia de mamíferos de Costa Rica obtenidos a través de una consulta al portal de datos de GBIF.
library(tidyverse)
library(devtools)
library(DT)
library(sf)
library(rgdal)
library(raster)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(viridis)
library(ggplot2)
library(plotly)areas <-
st_read(
"regiones_socioeconomicas_simp_10m.geojson.txt",
quiet = TRUE # evita el despliegue de mensajes
)
mamiferos <-
st_read(
"mamiferos.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude", # longitud decimal
"Y_POSSIBLE_NAMES=decimalLatitude" # latitud decimal
),
quiet = TRUE
)
areas <-
areas |>
st_transform(4326)
st_crs(mamiferos) <- 4326mamiferos_union_region <-
st_join(
x = mamiferos,
y = dplyr::select(areas, region),
join = st_within
)riqueza_especies_mamiferos <-
mamiferos_union_region |>
st_drop_geometry() |>
group_by(region) |>
summarise(riqueza_especies_mamiferos = n_distinct(species, na.rm = TRUE))region_union_riqueza <-
left_join(
x = areas,
y = riqueza_especies_mamiferos,
by = "region"
) |>
replace_na(list(riqueza_especies_mamiferos = 0))# Paleta de colores de riqueza de mamiferos
colores_riqueza_especies <-
colorNumeric(
palette = "Purples",
domain = region_union_riqueza$riqueza_especies_mamiferos,
na.color = "transparent"
)
# Paleta de colores de especies
colores_especies <- colorFactor(
palette = viridis(length(unique(mamiferos$species))),
domain = mamiferos$species
)
# Mapa leaflet
leaflet() |>
setView(
lng = -84.19452,
lat = 9.572735,
zoom = 7) |>
addTiles(group = "Mapa general (OpenStreetMap)") |>
addProviderTiles(
providers$Esri.WorldImagery,
group = "Imágenes satelitales (ESRI World Imagery)"
) |>
addPolygons(
data = region_union_riqueza,
fillColor = ~ colores_riqueza_especies(region_union_riqueza$riqueza_especies_mamiferos),
fillOpacity = 0.8,
color = "black",
stroke = TRUE,
weight = 1.0,
popup = paste(
paste("<strong>Riqueza de mamiferos:</strong>", region_union_riqueza$riqueza_especies_mamiferos),
sep = '<br/>'
),
group = "Riqueza de mamiferos"
) |>
addScaleBar(
position = "bottomleft",
options = scaleBarOptions(imperial = FALSE)
) |>
addLegend(
position = "bottomleft",
pal = colores_riqueza_especies,
values = region_union_riqueza$riqueza_especies_mamiferos,
group = "Riqueza de mamiferos",
title = "Riqueza de mamiferos"
) |>
addCircleMarkers(
data = mamiferos,
stroke = F,
radius = 4,
fillColor = ~colores_especies(mamiferos$species),
fillOpacity = 1.0,
popup = paste(
paste0("<strong>Especie: </strong>", mamiferos$species),
paste0("<strong>Localidad: </strong>", mamiferos$locality),
paste0("<strong>Fecha: </strong>", mamiferos$eventDate),
paste0("<strong>Fuente: </strong>", mamiferos$institutionCode),
paste0("<a href='", mamiferos$occurrenceID, "'>Más información</a>"),
sep = '<br/>'
),
group = "Registros de presencia"
) |>
addLayersControl(
baseGroups = c(
"Mapa general (OpenStreetMap)",
"Imágenes satelitales (ESRI World Imagery)"
),
overlayGroups = c(
"Riqueza de mamiferos",
"Registros de presencia"
)
) |>
addResetMapButton() |>
addSearchOSM() |>
addMouseCoordinates() |>
addFullscreenControl() |>
hideGroup("Registros de presencia")